package org.cn.cf.platform;

import java.util.List;
import java.util.Map;

import org.cn.cf.auth.ICFAuthority;
import org.cn.cf.group.ICFGroup;
import org.cn.cf.service.ICFService;

import net.jxta.id.ID;

/**
 * 平台使用者
 * */
public interface ICFUser {

	//user info
	public void setMember(CFMember member);
	public CFMember getMember();
	
	
	public void setOwnGroups(List<ICFGroup> groups);
	public List<ICFGroup> getOwnGroups();
	
	public void setJoinGroups(List<ICFGroup> groups);
	public List<ICFGroup> getJoinGroups();
	
	public void addOwnGroup(ICFGroup group);
	public void removeOwnGroup(ICFGroup group);
	
	public void addJoinGroup(ICFGroup group);
	public void removeJoinGroup(ICFGroup group);
	
	//ID　PeerGroup Id 
	public void setCurrUseGroups(Map<ID,ICFGroup> groups);
	public Map<ID,ICFGroup> getCurrUseGroups();
	
	//ID　PeerGroup Id 
	public void addCurrUseGroup(ID key,ICFGroup group);
	public void removeUseGroup(ID key);
	
	//Peer自己启动的服务
	public void setRunServices(List<ICFService> services);
	public List<ICFService> getRunServices();
	
	public void addRunService(ICFService service);
	public void removeRunService(ICFService service);
	
	//权限 个人身份象征 
	public void setAuthority(ICFAuthority auth);
	public ICFAuthority setAuthority();
}
